home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / um / include / shared / as-layout.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.6 KB  |  68 lines

  1. /*
  2.  * Copyright (C) 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
  3.  * Licensed under the GPL
  4.  */
  5.  
  6. #ifndef __START_H__
  7. #define __START_H__
  8.  
  9. #include "kern_constants.h"
  10.  
  11. /*
  12.  * Stolen from linux/const.h, which can't be directly included since
  13.  * this is used in userspace code, which has no access to the kernel
  14.  * headers.  Changed to be suitable for adding casts to the start,
  15.  * rather than "UL" to the end.
  16.  */
  17.  
  18. /* Some constant macros are used in both assembler and
  19.  * C code.  Therefore we cannot annotate them always with
  20.  * 'UL' and other type specifiers unilaterally.  We
  21.  * use the following macros to deal with this.
  22.  */
  23.  
  24. #ifdef __ASSEMBLY__
  25. #define _UML_AC(X, Y)    (Y)
  26. #else
  27. #define __UML_AC(X, Y)    (X(Y))
  28. #define _UML_AC(X, Y)    __UML_AC(X, Y)
  29. #endif
  30.  
  31. #define STUB_START _UML_AC(, 0x100000)
  32. #define STUB_CODE _UML_AC((unsigned long), STUB_START)
  33. #define STUB_DATA _UML_AC((unsigned long), STUB_CODE + UM_KERN_PAGE_SIZE)
  34. #define STUB_END _UML_AC((unsigned long), STUB_DATA + UM_KERN_PAGE_SIZE)
  35.  
  36. #ifndef __ASSEMBLY__
  37.  
  38. #include "sysdep/ptrace.h"
  39.  
  40. struct cpu_task {
  41.     int pid;
  42.     void *task;
  43. };
  44.  
  45. extern struct cpu_task cpu_tasks[];
  46.  
  47. extern unsigned long low_physmem;
  48. extern unsigned long high_physmem;
  49. extern unsigned long uml_physmem;
  50. extern unsigned long uml_reserved;
  51. extern unsigned long end_vm;
  52. extern unsigned long start_vm;
  53. extern unsigned long long highmem;
  54.  
  55. extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end;
  56. extern unsigned long _unprotected_end;
  57. extern unsigned long brk_start;
  58.  
  59. extern unsigned long host_task_size;
  60.  
  61. extern int linux_main(int argc, char **argv);
  62.  
  63. extern void (*sig_info[])(int, struct uml_pt_regs *);
  64.  
  65. #endif
  66.  
  67. #endif
  68.